/* var foo = "我是哈哈";
//导出foo对象
exports.foo = foo;
//导出一个方法
exports.sayhi = function(x,y){
	return x + y;
} */
//exports 可以导出多个成员,使用的时候还得 点找到对应的成员或方法
////////////////////////////////////////////////////////////
//有时候只想导出某个成员或方法，那这个时候必须使用下面这种方式 就可以直接使用成员或方法
//module.exports = 'hello';
//重新赋值 直接覆盖了之前的(之前的失效了),因此这种方法只能导出一个成员或方法
/* module.exports = function(){
	return 22222;
} */
//当然module.exports这种方法也可以导出多个成员或方法
module.exports = {
	'foo':'haha',
	'sayhi':function(x,y){
		return x + y;
	}
}

/////////////////////////////////////////////////////////////
//exports和module.exports 的区别
//node 底层，每个模块内部都有一个自己的 module 对象
//我们发现，每次导出接口成员的时候都通过 module.exports.xxx = xxx 的方式很麻烦，点儿的太多了
//所以，Node 为了简化你的操作，专门提供了一个变量：exports 等于 module.exports
/* var module = {
  exports: {
    foo: 'bar',
    add: function
  }
}; */
// 也就是说在模块中还有这么一句代码
//var exports = module.exports;
//代码最后有 这句话 return module.exports
// 两者一致，那就说明，我可以使用任意一方来导出内部成员
// console.log(exports === module.exports) true；
//结论:exports === module.exports 使用是一致的
//exports.foo = xxx;
//module.exports.foo = xxx; 效果是一致的